import serverModel from "../../model/server/serverModel";
const { uuid } = require('uuidv4');
const mapping = {
    '客户': 'kh',
    '料号': 'lh',
    '英文品名': 'ywpm',
    '中文品名': 'zwpm',
    '库位': 'kw',
    '条码号': 'tmh',
    '实物库存数量': 'swkcsl',
    '产地': 'cd',
    '是否3c': 'sf3c',
    '是否涉能效': 'sfsnx',
    '监管条件': 'jgtj',
    '物料状态': 'wlzt',
    '锁定原因': 'sdyy',
    '序列号': 'xlh',
    '单价': 'dj',
    '币制': 'bz',
    '业务参考号': 'ywckh',
    '净重': 'jz',
    '进库时间': 'jksj',
    '电子帐册序号': 'dzzcxh',
    '商品编码（HS）': 'spbm',
    '申报要素': 'sbys',
    '成交单位': 'cjdw',
    '备注': 'desc',
    '最惠国税率': 'zhgsl',
    '增值税率': 'zzsl',
    '对美税率': 'dmsl'
}
export default class loginService {
    
    /**
     * 上传批次
     **/
    // 查询批次列表
    async getBatchList(params) {
        let data = await new serverModel().getBatchList(params);
        let count = await new serverModel().getBatchCount(params);
        return {data,count}
    }
    // 保存项目
    async saveBatch(params) {
        let obj:any = {
            id: uuid(),
            name: params.name,
            desc: params.desc,
            createAt: new Date(),
            status: 1   
        }
        await new serverModel().saveBatch(obj);
        // let excelDataList:any = []
        if(params.xlsxData && params.xlsxData.length){
            for(let item of params.xlsxData){
                let itemData:any = {
                    id: uuid(),
                    batchId: obj.id,
                    createAt: new Date(),
                    status: 1
                }
                for(let key in item){
                    if(mapping[key]){
                        itemData[mapping[key]] = item[key]
                    }
                }
                // excelDataList.push(itemData)
                await new serverModel().saveExcelData(itemData);
            }
        }
        return true
    }
    // 删除
    async delBatch(id) {
        await new serverModel().delBatch(id);
        return await new serverModel().delBatchData(id);
    }

    
    /**
     * 数据查询
     **/
    // 数据列表
    async getDataList(params) {
        return await new serverModel().getDataList(params);
    }
}